<?php
 Session_Start () ;
 Include ("../../include/garennes.cfg") ;
 Include ("../../include/init.php") ;
 Include ("../include/config.inc") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 $sp = var_courante ("sp", 0, 0) ;
 $retour = var_courante ("retour", 0, "") ;
 $id_prof = var_courante ("id_prof", 0, 0) ;
 $id_classe = var_courante ("id_classe", 0, 0) ;
 $action = var_courante ("action", 0, null) ;
 $onglet = var_courante ("onglet", 0, 0) ;
 $millesime = millesime (0) ;
 
 // Destruction des groupes alias en trop par rapport aux services profs
 $al = SQL_commande ("SELECT professeur,id_service_prof FROM services_prof WHERE professeur<0", $id_sql) ;
 $nbr_al = SQL_nbr_lignes ($al) ;
 $requet1 = $requete2 = "" ;
 For ($ii = 0 ; $ii < $nbr_al ; $ii++)
  {
   $als = SQL_ligne_suivante ($al) ;
   If ($ii > 0) { $requete1 .= " AND " ; $requete2 .= " AND " ; }
   $requete1 .= "id_alias!='".(-$als [0])."'" ;
   $requete2 .= "id_service_prof!='".$als [1]."'" ;
  }
 $okk = SQL_commande ("DELETE FROM alias WHERE ".$requete1, $id_sql) ;
 $okk = SQL_commande ("DELETE FROM groupes_alias WHERE ".$requete2, $id_sql) ;
 // Destruction des alias en double
 $al = SQL_commande ("SELECT DISTINCT a.id_groupe_alias,b.id_groupe_alias FROM groupes_alias a,groupes_alias b WHERE a.id_alias=b.id_alias AND a.code=b.code
                         AND a.numero=b.numero AND a.id_utilisateur=b.id_utilisateur AND a.id_service_classe=b.id_service_classe
                         AND a.id_service_prof=b.id_service_prof AND a.millesime=b.millesime AND a.id_groupe_alias!=b.id_groupe_alias
		    ORDER BY a.id_groupe_alias", $id_sql) ;
 $nbr_al = SQL_nbr_lignes ($al) ;
 $table [0] = 0 ;
 For ($ii = 0 ; $ii < $nbr_al ; $ii++)
  {
   $als = SQL_ligne_suivante ($al) ;
   $ok = 0 ;
   For ($jj = 1 ; $jj <= $table [0] ; $jj++)
    {
     If (($table [$jj] == $als [0]) Or ($table [$jj] == $als [1])) { $ok = 1 ; }
    }
   If ($ok == 0)
    {
     $okk = SQL_commande ("DELETE FROM groupes_alias WHERE id_groupe_alias='".$als [0]."' LIMIT 1", $id_sql) ;
     $table [0] = $table [0] + 1 ;
     $table [$table [0]] = $als [0] ;
    }
  }
 $okk = SQL_commande ("DELETE FROM groupes_alias WHERE id_utilisateur='0'", $id_sql) ;
 // Destruction des groupes alias en trop
 $al = SQL_commande ("SELECT a.id_alias FROM alias a,groupes_alias b WHERE a.id_alias=b.id_alias", $id_sql) ;
 $nbr_al = SQL_nbr_lignes ($al) ;
 $requete = "SELECT id_groupe_alias FROM groupes_alias WHERE " ;
 For ($ii = 0 ; $ii < $nbr_al ; $ii++)
  {
   $als = SQL_ligne_suivante ($al) ;
   If ($ii > 0) { $requete .= " AND " ; }
   $requete .= "id_alias!='".$als [0]."'" ;
  }
 $al = SQL_commande ($requete, $id_sql) ;
 $nbr_al = SQL_nbr_lignes ($al) ;
 For ($ii = 0 ; $ii < $nbr_al ; $ii++)
  {
   $als = SQL_ligne_suivante ($al) ;
   $okk = SQL_commande ("DELETE FROM groupes_alias WHERE id_groupe_alias='".$als [0]."'", $id_sql) ;
  }
 
 If (IsSet ($action) And ($action > 0) And ($action < 3))
  {
   Switch ($action)
    {
     // Ajouter un enseignant
     Case 1 : $numero = var_courante ("numero", 0, 1) ;
              $nouv_ens = var_courante ("nouv_ens", 0, 0) ;
              If (($nouv_ens > 0) And ($numero > 1))
               {
                // Chercher le service prof
                $resultat = SQL_commande ("SELECT * FROM services_prof WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
                If (SQL_nbr_lignes ($resultat) == 1)
                 {
                  $ligne_prof = SQL_tableau_associatif ($resultat, "") ;
                  // Chercher le service classe
                  $resultat = SQL_commande ("SELECT * FROM services_classe WHERE id_service_classe='".$ligne_prof ["service_classe"]."' LIMIT 1", $id_sql) ;
                  $ligne_classe = SQL_tableau_associatif ($resultat, "") ;
                  If ($ligne_prof ["professeur"] < 0)
                   {
           	    $id_alias = -$ligne_prof ["professeur"] ;
		    $ok = SQL_commande ("UPDATE services_classe SET id_alias='".$id_alias."' WHERE id_service_classe='".$ligne_classe ["id_service_classe"]."' LIMIT 1", $id_sql) ;
	           }
                  Else
                   {
	            // Nouvel alias
	            // Construction du nouveau nom de l'alias
	            $nom = $ligne_prof ["classe"]."_".$sp."_".$ligne_classe ["id_service_classe"] ;
	            $ok= SQL_commande ("INSERT INTO alias (nom) VALUES ('".$nom."')", $id_sql) ;
	            $ok = SQL_commande ("SELECT id_alias FROM alias WHERE nom='".$nom."' LIMIT 1", $id_sql) ;
	            If (SQL_nbr_lignes ($ok) == 1)
	             {
	              $lok = SQL_ligne_suivante ($ok) ;
	              $id_alias = $lok [0] ;
	              // Ajout de l'enseignant principal (premier)
	              $ok = SQL_commande ("INSERT INTO groupes_alias (id_alias,code,numero,id_utilisateur,id_service_classe,id_service_prof,millesime)
	                                   VALUES ('".$id_alias."','1','1','".$ligne_prof ["professeur"]."','".$ligne_classe ["id_service_classe"]."','".$sp."','".$millesime."')", $id_sql) ;
	              // Modification du service prof et service classe
	              $ok = SQL_commande ("UPDATE services_prof SET professeur='".(-$id_alias)."' WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
	              $ok = SQL_commande ("UPDATE services_classe SET id_alias='".$id_alias."' WHERE id_service_classe='".$ligne_classe ["id_service_classe"]."' LIMIT 1", $id_sql) ;
	             }
	            Else
	             {
	              // Erreur de creation d'un alias
	             }
	           }
                  // Ajout d'un enseignant
                  $ok = SQL_commande ("INSERT INTO groupes_alias (id_alias,code,numero,id_utilisateur,id_service_classe,id_service_prof,millesime)
                                       VALUES ('".$id_alias."','1','".$numero."','".$nouv_ens."','".$ligne_classe ["id_service_classe"]."','".$sp."','".$millesime."')", $id_sql) ;
                 }
               }
	      Break ;
     // Enlever un enseignant
     Case 2 : $numero = var_courante ("numero", 0, 1) ;
              $id_alias = var_courante ("id_alias", 0, 0) ;
	      // Efface l'enseignant
	      $ok = SQL_commande ("DELETE FROM groupes_alias WHERE id_alias='".$id_alias."' AND numero='".$numero."' AND code='1' LIMIT 1", $id_sql) ;
	      // Renumerote
	      $resultat = SQL_commande ("SELECT id_groupe_alias FROM groupes_alias WHERE id_alias='".$id_alias."' AND numero>1 AND code='1' ORDER BY numero", $id_sql) ;
	      $nbr = SQL_nbr_lignes ($resultat) ;
	      If ($nbr > 0)
	       {
	        For ($i = 0 ; $i < $nbr ; $i++)
	         {
	          $ligne = SQL_ligne_suivante ($resultat) ;
	  	  $ok = SQL_commande ("UPDATE groupes_alias SET numero='".($i+2)."' WHERE id_groupe_alias='".$ligne [0]."' LIMIT 1", $id_sql) ;
		 }
	       }
	      Else
	       {
	        // Il ne reste que le premier prof donc destruction complet de l'alias
		// Recupere les renseignements prof
		$resultat1 = SQL_commande ("SELECT id_utilisateur FROM groupes_alias WHERE id_alias='".$id_alias."' AND code='1' LIMIT 1", $id_sql) ;
		$resultat2 = SQL_commande ("SELECT service_classe FROM services_prof WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
		If ((SQL_nbr_lignes ($resultat1) == 1) And (SQL_nbr_lignes ($resultat2) == 1))
		 {
		  $ligne1 = SQL_ligne_suivante ($resultat1) ;
		  $ligne2 = SQL_ligne_suivante ($resultat2) ;
		  $ok = SQL_commande ("UPDATE services_prof SET professeur='".$ligne1 [0]."' WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
		  $ok = SQL_commande ("UPDATE services_classe SET id_alias='0' WHERE id_service_classe='".$ligne2 [0]."' LIMIT 1", $id_sql) ;
		  // Detruit les renseignements du prof
		  $ok = SQL_commande ("DELETE FROM groupes_alias WHERE id_alias='".$id_alias."' AND code='1'", $id_sql) ;
		  // Detruit l'alias lui-meme
		  $ok = SQL_commande ("DELETE FROM alias WHERE id_alias='".$id_alias."' LIMIT 1", $id_sql) ;
		 }
	       }
              Break ;
    }
  }
 
 // Chercher le service prof
 $resultat = SQL_commande ("SELECT * FROM services_prof WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
 If (SQL_nbr_lignes ($resultat) == 1)
  {
   $ligne_prof = SQL_tableau_associatif ($resultat, "") ;
   // Chercher le service classe
   $resultat = SQL_commande ("SELECT * FROM services_classe WHERE id_service_classe='".$ligne_prof ["service_classe"]."' LIMIT 1", $id_sql) ;
   $ligne_classe = SQL_tableau_associatif ($resultat, "") ;
   If ($ligne_prof ["professeur"] < 0)
    {
     // Recherche premier prof
     $resultat = SQL_commande ("SELECT u.id_utilisateur,u.nom,u.prenom FROM utilisateurs u,groupes_alias g
                                 WHERE g.id_alias='".(-$ligne_prof ["professeur"])."' AND g.id_service_prof='".$sp."'
				   AND g.id_service_classe='".$ligne_prof ["service_classe"]."' AND g.id_utilisateur=u.id_utilisateur AND g.code='1'
			           AND g.numero='1' LIMIT 1", $id_sql) ;
     $p = SQL_ligne_suivante ($resultat) ;
     $prof [1][0] = $p [0] ;
     $prof [1][1] = $p [1] ;
     $prof [1][2] = $p [2] ;
     // Recherche l'alias
     $resultat = SQL_commande ("SELECT u.id_utilisateur,u.nom,u.prenom,g.numero FROM utilisateurs u,groupes_alias g
                                 WHERE g.id_alias='".(-$ligne_prof ["professeur"])."' AND g.id_service_prof='".$sp."' AND g.id_service_classe='".$ligne_prof ["service_classe"]."'
				   AND g.id_utilisateur=u.id_utilisateur AND g.code='1' AND g.numero>1 ORDER BY u.nom,u.prenom", $id_sql) ;
     $prof [0][0] = SQL_nbr_lignes ($resultat)+1 ; // Nombre
     $prof [0][1] = $ligne_prof ["discipline"] ; // Id Discipline
     $prof [0][2] = $ligne_prof ["classe"] ; // Id Classe
     For ($i = 1 ; $i < $prof [0][0] ; $i++)
      {
       $p = SQL_ligne_suivante ($resultat) ;
       $prof [$i+1][0] = $p [0] ; // Id
       $prof [$i+1][1] = $p [1] ; // Nom
       $prof [$i+1][2] = $p [2] ; // Prenom
       $prof [$i+1][3] = $p [3] ; // Numero
      }
     If ($prof [0][0] == 1)
      {
       $ok = SQL_commande ("DELETE FROM groupes_alias WHERE numero>0 AND code='1' AND id_alias='".(-$ligne_prof ["professeur"])."'", $id_sql) ;
       $ok = SQL_commande ("UPDATE services_prof SET professeur='".(-$ligne_prof ["professeur"])."' WHERE id_service_prof='".$sp."' LIMIT 1", $id_sql) ;
       $ok = SQL_commande ("UPDATE services_classe SET id_alias='0' WHERE id_service_classe='".$ligne_prof ["service_classe"]."' LIMIT 1", $id_sql) ;
       $ok = SQL_commande ("DELETE FROM alias WHERE id_alias='".(-$ligne_prof ["professeur"])."' LIMIT 1", $id_sql) ;
      }
     Elseif ($ligne_classe ["id_alias"] == 0)
      {
       $ok = SQL_commande ("UPDATE services_classe SET id_alias='".(-$ligne_prof ["professeur"])."' WHERE id_service_classe='".$ligne_prof ["service_classe"]."' LIMIT 1", $id_sql) ;
       $ligne_classe ["id_alias"] = -$ligne_prof ["professeur"] ;
      }
    }
   Else
    {
     $resultat = SQL_commande ("SELECT id_utilisateur,nom,prenom FROM utilisateurs WHERE id_utilisateur='".$ligne_prof ["professeur"]."' LIMIT 1", $id_sql) ;
     $p = SQL_ligne_suivante ($resultat) ;
     $prof [0][0] = 1 ;
     $prof [1][0] = $p [0] ; // Id
     $prof [1][1] = $p [1] ; // Nom
     $prof [1][2] = $p [2] ; // Prenom
     $prof [1][3] = 1 ; // Numero
    }
   $prof [0][1] = $ligne_prof ["discipline"] ; // Id Discipline
   $prof [0][2] = $ligne_prof ["classe"] ; // Id Classe
   
   // Recherche de la discipline
   $resultat = SQL_commande ("SELECT * FROM disciplines WHERE id_discipline='".$prof [0][1]."' LIMIT 1", $id_sql) ;
   $disc = SQL_tableau_associatif ($resultat, "") ;
   // Recherche de la classe
   $resultat = SQL_commande ("SELECT id_classe,nom,nom_bref FROM classes WHERE id_classe='".$prof [0][2]."' LIMIT 1", $id_sql) ;
   $classe = SQL_ligne_suivante ($resultat) ;
   
   $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0' LIMIT 1", $id_sql) ;
   $l = SQL_tableau_associatif ($resultats, "") ;

   Echo entete_page ("","") ;
   Echo "<html><head>" ;
   entete_html ("Garennes", "travail", 1) ;
   Echo styles ("none", "none", "none", $l ["lien"], "none") ;
   Echo "</head>" ;
   
   Echo "<body background=\"../images/fond.png\" text=\"#000000\" onContextMenu=\"return false\"><br>" ;
   Echo "<table border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse:collapse\">" ;
   Echo "<tr><td><table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border:1px solid #000000;border-collapse:collapse\">" ;
   Echo "<tr><td align=\"center\" bgcolor=\"".$l ["lien"]."\"><b>Gestion&nbsp;des&nbsp;alias.</b></td></tr>" ;
   Echo "<tr><td><table border=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border-collapse:collapse\" width=\"100%\">" ;
   // Espace
   Echo "<tr><td colspan=\"4\">&nbsp;</tr></tr>" ;
   // Renseignement Service Prof
   Echo "<tr>" ;
   Echo "<td align=\"right\"><font size=\"".$l ["titre"]."\">&nbsp;Service&nbsp;prof&nbsp;:&nbsp;</FONT></TD>" ;
   Echo "<td align=\"left\" colspan=\"3\"><font size=\"".$l ["titre"]."\"><b>".$sp."</b></font></td>" ;
   Echo "</tr>" ;
   // Renseignements premier prof
   Echo "<tr>" ;
   Echo "<td align=\"right\"><font size=\"".$l ["titre"]."\">&nbsp;Premier&nbsp;enseignant&nbsp;:&nbsp;</FONT></TD>" ;
   Echo "<td align=\"left\" colspan=\"3\"><font size=\"".$l ["titre"]."\"><b>".Str_Replace (" ", "&nbsp;", $prof [1][1])."&nbsp;&nbsp;".Str_Replace (" ", "&nbsp;", $prof [1][2])."</b></font></td>" ;
   Echo "</tr>" ;
   // Renseignements classe
   Echo "<tr>" ;
   Echo "<td align=\"right\"><font size=\"".$l ["titre"]."\">&nbsp;Classe&nbsp;:&nbsp;</FONT></TD>" ;
   Echo "<td align=\"left\" colspan=\"3\"><font size=\"".$l ["titre"]."\"><b>".Str_Replace (" ", "&nbsp;", $classe [1])."</b>&nbsp;&nbsp;(".$classe [2].")</font></td>" ;
   Echo "</tr>" ;
   // Discipline
   Echo "<tr>" ;
   Echo "<td align=\"right\" valign=\"top\"><font size=\"".$l ["titre"]."\">&nbsp;Discipline&nbsp;:&nbsp;</font></td>" ;
   Echo "<td align=\"left\" colspan=\"3\"><font size=\"".$l ["titre"]."\"><b>".Str_Replace (" ", "&nbsp;", $disc ["nom_long"])."</b>&nbsp;&nbsp;(".Str_Replace (" ", "&nbsp;", $disc ["code"]).")</font></td>" ;
   Echo "</tr>" ;
   // Espace
   Echo "<tr><td colspan=\"4\">&nbsp;</td></tr>" ;
   // Trait
   Echo "</table></td></tr>" ;
   If (($ligne_classe ["id_alias"] > 0) And ($ligne_prof ["professeur"] < 0))
    {
     // Titre
     Echo "<tr><td align=\"center\" bgcolor=\"".$l ["nom"]."\">&nbsp;<b>Enseignant" ; If ($prof [0][0] > 2) { Echo "s" ; }
     Echo "&nbsp;suppl&eacute;mentaire" ; If ($prof [0][0] > 2) { Echo "s" ; }
     Echo "&nbsp;(alias)</b>&nbsp;</td></tr>" ;
     Echo "<tr><td><table border=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border-collapse:collapse\" width=\"100%\">" ;
     For ($i = 2 ; $i <= $prof [0][0] ; $i++)
      {
       Echo "<tr><td align=\"right\">&nbsp;" ;
       Echo "<a href=\"./gestion_alias.php?action=2&id_alias=".(-$ligne_prof ["professeur"])."&numero=".$prof [$i][3]."&sp=".$sp."&retour=".$retour."&id_classe=".$id_classe."&onglet=".$onglet."\" title=\"Enlever l'enseignant...\">" ;
       Echo "<img src=\"../images/effacer.png\" border=\"0\"></a></td>" ;
       Echo "<td colspan=\"2\">".$prof [$i][1]."&nbsp;".$prof [$i][2]."</td><td></td></tr>" ;
      }
     // Espace
     Echo "<tr><td colspan=\"4\">&nbsp;</td></tr>" ;
     // Trait
     Echo "</table></td></tr>" ;
    }
   ElseIf (($ligne_classe ["id_alias"] == 0) And ($ligne_prof ["professeur"] < 0))
    {
     $ok = SQL_commande ("DELETE FROM groupes_alias WHERE numero>1 AND code='1' AND id_alias='".(-$ligne_prof ["professeur"])."'", $id_sql) ;
    }
   Echo "<form action=\"./gestion_alias.php\" method=\"post\">" ;
   Echo "<input type=\"hidden\" name=\"sp\" value=\"".$sp."\">" ;
   Echo "<input type=\"hidden\" name=\"id_classe\" value=\"".$classe [0]."\">" ;
   Echo "<input type=\"hidden\" name=\"numero\" value=\"".($prof [0][0]+1)."\">" ;
   Echo "<input type=\"hidden\" name=\"action\" value=\"1\">" ;
   // Titre
   Echo "<tr><td align=\"center\" bgcolor=\"".$l ["nom"]."\">&nbsp;<b>Ajouter&nbsp;un&nbsp;enseignant&nbsp;</b>&nbsp;</td></tr>" ;
   Echo "<tr><td><table border=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border-collapse:collapse\" width=\"100%\">" ;
   // Nouvel enseignant
   Echo "<tr><td>&nbsp;</td>" ;
   Echo "<td align=\"left\"><font size=\"".$l ["titre"]."\"><select name=\"nouv_ens\">" ;
   $requete = "" ;
   For ($i = 1 ; $i <= $prof [0][0] ; $i++)
    {
     If ($i > 1) { $requete .= " AND " ; }
     $requete .= "id_utilisateur!='".$prof [$i][0]."'" ;
    }
   $resultat = SQL_commande ("SELECT * FROM utilisateurs WHERE ".$requete." AND droits='".$droit_prof."' AND millesime='".$millesime."' ORDER BY nom,prenom", $id_sql) ;
   While ($lin_util = SQL_tableau_associatif ($resultat, ""))
    {
     Echo "<option value=\"".$lin_util ["id_utilisateur"]."\">".$lin_util ["nom"]."&nbsp;".$lin_util ["prenom"]."</option>" ;
    }
   Echo "</select></font></td>" ;
   // Boutons
   Echo "<td align=\"center\">" ;
   If (!IsSet ($retour) Or ($retour == "")) { $retour = "edite_classe.php" ; }
   Echo "<input type=\"hidden\" name=\"code\" value=\"".$_SESSION ["code"]."\">" ;
   Echo "<input type=\"hidden\" name=\"retour\" value=\"".$retour."\">" ;
   Echo "<input type=\"hidden\" name=\"onglet\" value=\"".$onglet."\">" ;
   Echo "<input type=\"image\" src=\"../images/valider.png\" title=\"Annuler...\" value=\"Changer\" border=\"0\">" ;
   Echo "</td>" ;
   Echo "<td></td></tr>" ;
   Echo "</form>" ;
   // Espace
   Echo "<tr><td colspan=\"4\"><font size=\"".$l ["titre"]."\">&nbsp;</font></td></tr>" ;
   // Trait
   Echo "</table></td></tr>" ;
   Echo "<tr><td><table border=\"0\" bgcolor=\"".$l ["couleur_fond"]."\" style=\"border-collapse:collapse\" width=\"100%\">" ;
   // Bouton annuler
   Echo "<form action=\"./".$retour."\" method=\"post\">" ;
   Echo "<tr><td align=\"right\" colspan=\"3\">" ;
   Echo "<input type=\"hidden\" name=\"code\" value=\"".$_SESSION ["code"]."\">" ;
   Echo "<input type=\"hidden\" name=\"id_classe\" value=\"".$classe [0]."\">" ;
   Echo "<input type=\"hidden\" name=\"id_prof\" value=\"".$id_prof."\">" ;
   Echo "<input type=\"hidden\" name=\"onglet\" value=\"".$onglet."\">" ;
   Echo "<input type=\"image\" src=\"../images/annuler.png\" title=\"Annuler\" border=\"0\">" ;
   Echo "</td></tr>" ;
   Echo "</form>" ;
   Echo "</table>" ;
   Echo "</td></tr></table>" ;
   Echo "</td></tr></table>" ;
   Echo "</body></html>" ;
  }
 Else
  {
   // Probleme d'acces
   Echo "<html><head>" ;
   entete_html ("Garennes", "travail", 1) ;
   Echo styles ("none", "none", "none", $l ["lien"], "none") ;
   Echo "</head>" ;
   Echo "<center>Gestion des alias.</center>" ;
   Echo "<body background=\"../images/fond.png\" text=\"#000000\" onContextMenu=\"return false\">" ;
   Echo "</body></html>" ;
  }
?>